DEFINE MISSIONS 1        
DEFINE MISSION 0 AT @MISSN_19

DEFINE EXTERNAL_SCRIPTS 0

DEFINE UNKNOWN_EMPTY_SEGMENT 0

DEFINE UNKNOWN_THREADS_MEMORY 500

{$VERSION 3.1.0027}
var
 $PLAYER_CHAR: Player
end // var 
//Main thread starts here
03A4: name_thread 'MAIN' 
//Set the screen BLACK immediately
016A: fade 0 time 0           
01F0: set_max_wanted_level_to 6 
0111: toggle_wasted_busted_check 0 
00C0: set_current_time_hours_to 1 minutes_to 30 
023C: load_special_actor 'TENPEN' as 1 

04E4: unknown_refresh_game_renderer_at 1541 -1675.4 
Camera.SetAtPos(2471.6958, -1888.9365, 15.0156)
$PLAYER_CHAR = Player.Create(#NULL, 2471.6958, -1888.9365, 15.0156)
//We must dress CJ for him to appear normal in Cut Scenes 
Player.SetClothes($PLAYER_CHAR, "VEST", "VEST", Torso)
Player.SetClothes($PLAYER_CHAR, "JEANSDENIM", "JEANS", Legs)
Player.SetClothes($PLAYER_CHAR, "SNEAKERBINCBLK", "SNEAKER", Shoes)
Player.SetClothes($PLAYER_CHAR, "PLAYER_FACE", "HEAD", Head)  
Player.Build($PLAYER_CHAR)          	 

09C7: change_player $PLAYER_CHAR model_to 290 
01F5: $PLAYER_ACTOR = create_player_actor $PLAYER_CHAR 
07AF: $PLAYER_GROUP = player $PLAYER_CHAR group 
01B6: set_weather 1 
0001: wait 0 ms 
01B4: toggle_player $PLAYER_CHAR can_move false //We shut down control for the cameras to work 
04BB: select_interior 0 
0629: change_integer_stat 181 to 4 
016C: restart_if_wasted_at 2471.6958 -1888.9365 15.0156 angle 97.0 town_number 0 
016D: restart_if_busted_at 2471.6958 -1888.9365 15.0156 angle 95.0 town_number 0 
// Note: your missions have to use the variable defined here
0180: set_on_mission_flag_to $ONMISSION  
0004: $DEFAULT_WAIT_TIME = 250
03E6: remove_text_box 
// START GAME
$ONMISSION = 0   

016A: fade 1 time 500
0001: wait 1000 ms 

Camera.Restore_WithJumpCut
Camera.SetBehindPlayer
   
:MAIN_LOOP
0001: wait $DEFAULT_WAIT_TIME ms
00BF: $TIME_HOURS = current_time_hours, $TIME_MINS = current_time_minutes
if and
$ONMISSION == 0
00E1:   player 0 pressed_key 16 
then
start_mission 0
end
  
0002: jump @MAIN_LOOP 

//-------------Mission 112---------------
// Originally: End Of The Line (3)
:MISSN_19
thread 'MISSN_19' 
$ONMISSION = 1 
gosub @MISSN_19_36   //START MISSION

if 
wasted_or_busted 
else_jump @MISSN_19_27 

gosub @MISSN_19_57329 //MISSION FAILED

:MISSN_19_27
gosub @MISSN_19_57525 //MISSION CLEAN
end_thread 

:MISSN_19_36
wait 0 
fade 0 0
054C: use_GXT_table 'RIOT4' 
060A: create_decision_maker_type 0 store_to 97@ // decision\allowed\m_.ped files 
Player.CanMove($PLAYER_CHAR) = False
0828: unknown_fires_stuff 0 
03C7: set_sensitivity_to_crime 0.0 
06D0: enable_emergency_traffic 0 
Model.Load(#FIRELA)
Model.Load(#LAPD1)
Model.Load(#GREENWOO)
Model.Load(#FELTZER)
Model.Load(#LSV2)
Model.Load(#BALLAS1)
Model.Load(#MICRO_UZI)
Model.Load(#MOLOTOV)
Model.Load(#LA_FUCKCAR1)
Model.Load(#LA_FUCKCAR2)
Model.Load(#STREAK)
Model.Load(#TEC9)
Model.Load(#AT400)
04ED: load_animation "FINALE" 
04ED: load_animation "FINALE2" 
04ED: load_animation "MD_CHASE"  
023C: load_special_actor 'SWEET' as 2 // models 290-299 
023C: load_special_actor 'TENPEN' as 1 // models 290-299 
03CF: load_wav 33227 as 1 
038B: load_requested_models 

:MISSN_19_759
wait 0
if and
   Model.Available(#FIRELA)
   Model.Available(#LAPD1)
   Model.Available(#GREENWOO)
   Model.Available(#FELTZER)
   Model.Available(#LSV2)    
   Model.Available(#TEC9)
jf @MISSN_19_759 

:MISSN_19_805
wait 0
if and
   Model.Available(#BALLAS1)
   Model.Available(#MICRO_UZI)
   Model.Available(#MOLOTOV)
   Model.Available(#LA_FUCKCAR1)
   Model.Available(#LA_FUCKCAR2)
   Model.Available(#STREAK)
   Model.Available(#AT400)
jf @MISSN_19_805 

:MISSN_19_851
wait 0
if and
04ED:   load_animation "FINALE" 
04ED:   load_animation "FINALE2" 
04ED:   load_animation "MD_CHASE"  
023D:   special_actor 1 loaded 
jf @MISSN_19_851 

09C7: change_player $PLAYER_CHAR model_to #NULL
Player.SetClothes($PLAYER_CHAR, "hawaiiwht", "hawaii", Torso)
Player.SetClothes($PLAYER_CHAR, "chongergang", "chonger", Legs)
Player.SetClothes($PLAYER_CHAR, "sneakerbincgang", "sneaker", Shoes)
Player.SetClothes($PLAYER_CHAR, "goatee", "head", Head)
Player.Build($PLAYER_CHAR)
:MISSN_19_910
wait 0
if 
0256:   player $PLAYER_CHAR defined 
jf @MISSN_19_910

09C7: change_player $PLAYER_CHAR model_to 290 
:MISSN_19_920
wait 0
0665: get_actor $PLAYER_ACTOR model_to $PLAYER_MODEL
if 
$PLAYER_MODEL == 290
jf @MISSN_19_920 

:MISSN_19_940
wait 0 
054C: use_GXT_table 'RIOT4' 
060A: create_decision_maker_type 0 store_to 97@ // decision\allowed\m_.ped files 
060A: create_decision_maker_type 2 store_to 98@ // decision\allowed\m_.ped files 
01F0: set_max_wanted_level_to 0 
02A3: enable_widescreen 0 
Player.CanMove($PLAYER_CHAR) = True
0169: set_fade_color_RGB 0 0 0 

select_interior 2 
02E4: load_cutscene_data 'RIOT_4D' 

:MISSN_19_121
wait 0
if 
06B9:   cutscene_data_loaded 
jf @MISSN_19_121 

:MISSN_19_145
02E7: start_cutscene 
fade 1 1000 

:MISSN_19_154
wait 0
if 
02E9:   cutscene_reached_end 
jf @MISSN_19_154 

02EA: end_cutscene

fade 0 0 
select_interior 0
02A3: enable_widescreen 1 

49@ = Actor.Create(Special, #NULL, 2515.771, -1277.474, 33.728)
Actor.Angle(49@) = 144.159
0605: actor 49@ perform_animation_sequence "KO_SKID_BACK" IFP_file "PED" 1000.0 loop 0 0 0 1 time -1 // versionA 
wait 250 
152@ = Car.Create(#FIRELA, 2508.649, -1295.866, 33.92)
Car.Angle(152@) = 0.3186
08A4: set_car 152@ extra_parts_angle_to 0.7 
Car.SetImmunities(152@, 1, 1, 1, 1, 1)
0852: set_car 152@ damages_visible 0 
$SWEET_CAR = Car.Create(#GREENWOO, 2508.941, -1306.517, 33.92)
Car.Angle($SWEET_CAR) = 165.3186
0229: set_car $SWEET_CAR primary_color_to 59 secondary_color_to 34 
0674: set_car_model #FELTZER numberplate "_IMY_AK" 
153@ = Car.Create(#FELTZER, 2515.895, -1269.408, 33.7844)
Car.Angle(153@) = 359.2572
Car.SetImmunities(153@, 1, 1, 1, 1, 1)
Car.Health(153@) = 2000
053F: set_car 153@ tires_vulnerability 0 
0852: set_car 153@ damages_visible 0 
0229: set_car 153@ primary_color_to 1 secondary_color_to 8 
Actor.PutAt($PLAYER_ACTOR, 2506.218, -1293.093, 33.8438)
Actor.Angle($PLAYER_ACTOR) = 271.9809
Actor.SetImmunities($PLAYER_ACTOR, 1, 1, 1, 1, 1)
01C8: 158@ = create_actor_pedtype 24 model #LAPD1 in_car 152@ passenger_seat 0 
Actor.SetImmunities(158@, 1, 1, 1, 1, 1)
060B: set_actor 158@ decision_maker_to 97@ 
$ACTOR_SWEET = Actor.Create(Special, #SPECIAL02, 0.0, 0.0, 0.0)
Actor.SetImmunities($ACTOR_SWEET, 1, 1, 1, 1, 1)
Actor.Angle($ACTOR_SWEET) = 0.3186
060B: set_actor $ACTOR_SWEET decision_maker_to 97@ 
0464: put_actor $ACTOR_SWEET into_turret_on_car 152@ at_car_offset 0.0 -8.227 -1000.156 position 0 shooting_angle_limit 0.0 with_weapon 0 
03DE: set_pedestrians_density_multiplier_to 0.0 
01EB: set_traffic_density_multiplier_to 0.0 
0395: clear_area 0 at 2506.218 -1293.093 200.0 radius 200.0 
06D7: enable_train_traffic 0 
06DB: destroy_all_trains 
015D: set_gamespeed 1.0 
0732: random_car_generator_disable_model #FELTZER 
0732: random_car_generator_disable_model #FIRELA 
02CF: 70@ = create_fire_at 2521.392 -1269.343 34.1609 propagation 0 size 3 
02CF: 71@ = create_fire_at 2521.701 -1270.293 34.2031 propagation 0 size 2 
02CF: 72@ = create_fire_at 2523.58 -1271.225 34.2918 propagation 0 size 3 
02CF: 73@ = create_fire_at 2518.576 -1284.467 34.0265 propagation 0 size 2 
02CF: 74@ = create_fire_at 2521.6 -1270.885 40.4338 propagation 0 size 3 
02CF: 75@ = create_fire_at 2521.662 -1267.656 43.8955 propagation 0 size 2 
02CF: 76@ = create_fire_at 2521.674 -1275.707 43.7437 propagation 0 size 3 
02CF: 77@ = create_fire_at 2521.506 -1275.781 40.4019 propagation 0 size 2 
02CF: 78@ = create_fire_at 2522.68 -1280.397 39.1158 propagation 0 size 3 
02CF: 79@ = create_fire_at 2521.676 -1279.352 39.112 propagation 0 size 3 
02CF: 80@ = create_fire_at 2521.714 -1278.639 37.4041 propagation 0 size 2 
0489: set_actor 49@ muted 1 
0A45: set_rail_tracks_friction_to 0.3 
wait 500 
0A0B: set_rendering_origin_at_3D_coord 2504.96 -1309.16 34.44 angle 334.0 
00C0: set_current_time_hours_to 17 minutes_to 0 
01F0: set_max_wanted_level_to 0 
fade 1 1000 

Camera.SetPosition(2502.792, -1296.28, 35.3797, 0.0, 0.0, 0.0)
Camera.PointAt(2503.378, -1295.469, 35.3873, 2)
05CB: AS_actor $PLAYER_ACTOR enter_car 152@ as_driver -1 ms 
0605: actor 49@ perform_animation_sequence "GETUP_FRONT" IFP_file "PED" 8.0 loop 0 0 0 0 time -1 // versionA 

:MISSN_19_2000
wait 0
if 
   Actor.InCar($PLAYER_ACTOR, 152@)
jf @MISSN_19_2000
0812: AS_actor $ACTOR_SWEET perform_animation "FIN_JUMP_ON" IFP_file "FINALE" 1000.0 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB 

Camera.SetPosition(2515.445, -1299.71, 36.5622, 0.0, 0.0, 0.0)
Camera.PointAt(2514.667, -1300.31, 36.4758, 2)
32@ = 0 
04AF: 187@ = 33227 // @ = any 
05AA: 188@s = 'ROT4_HA'  // ~z~Tenpenny, you motherfucking piece of shit!
gosub @MISSN_19_PLAY_A
:MISSN_19_2399
wait 0
if 
  32@ > 4500
jf @MISSN_19_2399 

0925: restore_camera_to_user_defined 
092F: lock_camera_target_point 1 
0930: lock_camera_position 1 
041D: set_camera_near_clip 0.1 
0920: point_camera 2514.667 -1300.31 36.4758 transverse_to 2514.946 -1282.265 35.6876 time 4000 mode 0 
0936: set_camera 2515.445 -1299.71 36.5622 position_to 2515.482 -1282.265 35.713 time 4000 drop_mode 0 

05D1: AS_actor $PLAYER_ACTOR drive_car 152@ to 2530.3303 -1256.5625 37.8355 speed 8.0 3 model #NULL 2 

04AF: 187@ = 33228 // @ = any 
05AA: 188@s = 'ROT4_HB'  // ~z~I ain't letting you get away with all you've done!
gosub @MISSN_19_PLAY_A

:MISSN_19_2593 
wait 0
if 
8934:   not camera_target_point_manipulated 
else_jump @MISSN_19_2593 
   
0925: restore_camera_to_user_defined 
092F: lock_camera_target_point 1 
0930: lock_camera_position 1 
0936: set_camera 2515.482 -1282.265 35.713 position_to 2515.482 -1283.1 35.713 time 4000 drop_mode 0 
0920: point_camera 2514.946 -1282.265 35.6876 transverse_to 2515.719 -1282.136 35.6959 time 4000 mode 0 

05CB: AS_actor 49@ enter_car 153@ as_driver -1 ms 

04AF: 187@ = 33216 // @ = any 
05AA: 188@s = 'ROT4_DB'  // ~z~Sweet, no!
gosub @MISSN_19_PLAY_A

:MISSN_19_3284 
wait 0
if 
   Actor.InCar(49@, 153@)
else_jump @MISSN_19_3284 
0925: restore_camera_to_user_defined 
Camera.Restore_WithJumpCut
02A3: enable_widescreen 0 
03A2: set_car 152@ action 0
Player.CanMove($PLAYER_CHAR) = True
03DE: set_pedestrians_density_multiplier_to 0.2 

$7234 = 200000
014E: set_timer_to $7234 type 1 
0890: enable_sound_when_timer $7234 reach 10 seconds

0187: 59@ = create_marker_above_actor 49@ 
0165: set_marker 59@ color_to 0
07E0: set_marker 59@ type_to 0 
 
06D5: 449@ = create_racing_checkpoint_at 2732.9634 -1254.5901 60.1275 point_to 2736.3918 -1094.8547 69.9818 type 0 radius 6.0 
06D5: 450@ = create_racing_checkpoint_at 2736.3918 -1094.8547 69.9818 point_to 2603.8154 -1040.7358 69.9765 type 0 radius 6.0 
06D5: 451@ = create_racing_checkpoint_at 2603.8154 -1040.7358 69.9765 point_to 2539.4927 -971.9382 82.5174 type 0 radius 6.0 
018A: 89@ = create_checkpoint_at 2732.9634 -1254.5901 60.1275
018A: 90@ = create_checkpoint_at 2736.3918 -1094.8547 69.9818
018A: 91@ = create_checkpoint_at 2603.8154 -1040.7358 69.9765
0168: set_marker 89@ size 3
0168: set_marker 90@ size 1  
0168: set_marker 91@ size 1 


:MISSN_19_3290
wait 0
gosub @MISSN_19_57100
if
$7234 < 1 
then
gosub @MISSN_19_57329
return
end
if
00EE:   actor $PLAYER_ACTOR 0 near_point 2732.9634 -1254.5901 radius 5.0 5.0 in_car 
jf @MISSN_19_3290
Marker.Disable(89@)
018A: 89@ = create_checkpoint_at 2539.4927 -971.9382 82.5174
0168: set_marker 90@ size 3
0168: set_marker 89@ size 1
06D6: disable_racing_checkpoint 449@ 
06D5: 449@ = create_racing_checkpoint_at 2539.4927 -971.9382 82.5174 point_to 2415.3286 -973.8564 77.6948 type 0 radius 6.0 
05D1: AS_actor 49@ drive_car 153@ to 2732.9634 -1254.5901 60.1275 speed 30.0 3 model #NULL 2 
$7234 += 10000
  
Car.RemoveReferences($SWEET_CAR)
Model.Destroy(#GREENWOO)
167@ = Object.Create(#LA_FUCKCAR2, 2597.36, -1044.735, 69.196)
Object.ToggleInMovingList(167@) = True
Object.Angle(167@) = 0.0
0453: set_object 167@ XY_rotation 0.0 180.0 angle 0.0 
168@ = Object.Create(#LA_FUCKCAR1, 2598.7, -1050.94, 69.23)
Object.Angle(168@) = 180.0
Object.ToggleInMovingList(168@) = True
44@ = Actor.Create(Mission1, #LSV2, 2600.99, -1050.01, 69.04)
Actor.Angle(44@) = 274.892
060B: set_actor 44@ decision_maker_to 97@ 
01B2: give_actor 44@ weapon 18 ammo 99999 // Load the weapon model before using this 
02A9: set_actor 44@ immune_to_nonplayer 1 
0085: 102@ = 44@ // (int) 
0085: 107@ = $PLAYER_ACTOR // (int) 
gosub @MISSN_19_57209 
45@ = Actor.Create(Mission1, #LSV2, 2597.21, -1040.14, 69.48)
Actor.Angle(45@) = 274.892
060B: set_actor 45@ decision_maker_to 97@ 
01B2: give_actor 45@ weapon 28 ammo 99999 // Load the weapon model before using this 
081A: set_actor 45@ weapon_skill_to 2 
02A9: set_actor 45@ immune_to_nonplayer 1 
0085: 102@ = 45@ // (int) 
008B: 107@ = 49@ // (int) 
gosub @MISSN_19_57209 
46@ = Actor.Create(Mission1, #LSV2, 2604.991, -1038.172, 69.619)
Actor.Angle(46@) = 274.892
060B: set_actor 46@ decision_maker_to 97@ 
01B2: give_actor 46@ weapon 18 ammo 99999 // Load the weapon model before using this 
02A9: set_actor 46@ immune_to_nonplayer 1 
0085: 102@ = 46@ // (int) 
008B: 107@ = 49@ // (int) 
gosub @MISSN_19_57209 
02CF: 61@ = create_fire_at 2598.54 -1044.53 68.5 propagation 0 size 3 
02CF: 62@ = create_fire_at 2600.99 -1050.01 69.04 propagation 0 size 3 
02CF: 63@ = create_fire_at 2599.88 -1052.4 68.06 propagation 0 size 3 


:MISSN_19_3300
wait 0
gosub @MISSN_19_57100
if
$7234 < 1 
then
gosub @MISSN_19_57329
return
end
if
00EE:   actor $PLAYER_ACTOR 0 near_point 2736.3918 -1094.8547 radius 5.0 5.0 in_car 
jf @MISSN_19_3300
Marker.Disable(90@)
018A: 90@ = create_checkpoint_at 2415.3286 -973.8564 77.6948
0168: set_marker 90@ size 1
0168: set_marker 91@ size 3
06D6: disable_racing_checkpoint 450@ 
06D5: 450@ = create_racing_checkpoint_at 2415.3286 -973.8564 77.6948 point_to 2343.9167 -1080.1511 52.3613 type 0 radius 6.0 
05D1: AS_actor 49@ drive_car 153@ to 2736.3918 -1094.8547 69.9818 speed 40.0 3 model #NULL 2 
$7234 += 10000


:MISSN_19_3310
wait 0
gosub @MISSN_19_57100
if
$7234 < 1 
then
gosub @MISSN_19_57329
return
end
if
00EE:   actor $PLAYER_ACTOR 0 near_point 2603.8154 -1040.7358 radius 5.0 5.0 in_car 
jf @MISSN_19_3310
Marker.Disable(91@)
018A: 91@ = create_checkpoint_at 2343.9167 -1080.1511 52.3613
0168: set_marker 91@ size 1
0168: set_marker 89@ size 3
06D6: disable_racing_checkpoint 451@ 
06D5: 451@ = create_racing_checkpoint_at 2343.9167 -1080.1511 52.3613 point_to 2033.8317 -981.8964 41.0223 type 0 radius 6.0 
05D1: AS_actor 49@ drive_car 153@ to 2343.9167 -1080.1511 52.3613 speed 40.0 3 model #NULL 2 
$7234 += 10000
04AF: 187@ = 33245 // @ = any 
05AA: 188@s = 'ROT4_MB'  // ~z~Oh shiiiiit!
gosub @MISSN_19_PLAY_A


:MISSN_19_3320
wait 0
gosub @MISSN_19_57100
if
$7234 < 1 
then
gosub @MISSN_19_57329
return
end
if
00EE:   actor $PLAYER_ACTOR 0 near_point 2539.4927 -971.9382 radius 5.0 5.0 in_car 
jf @MISSN_19_3320
Marker.Disable(89@)
018A: 89@ = create_checkpoint_at 2033.8317 -981.8964 41.0223
0168: set_marker 89@ size 1
0168: set_marker 90@ size 3
06D6: disable_racing_checkpoint 449@ 
06D5: 449@ = create_racing_checkpoint_at 2033.8317 -981.8964 41.0223 point_to 1985.0079 -1090.5889 25.7691 type 0 radius 6.0 
$7234 += 10000


:MISSN_19_3330
wait 0
gosub @MISSN_19_57100
if
$7234 < 1 
then
gosub @MISSN_19_57329
return
end
if
00EE:   actor $PLAYER_ACTOR 0 near_point 2415.3286 -973.8564 radius 5.0 5.0 in_car 
jf @MISSN_19_3330
Marker.Disable(90@)
018A: 90@ = create_checkpoint_at 1985.0079 -1090.5889 25.7691
0168: set_marker 90@ size 1
0168: set_marker 91@ size 3
06D6: disable_racing_checkpoint 450@ 
06D5: 450@ = create_racing_checkpoint_at 1985.0079 -1090.5889 25.7691 point_to 2075.5442 -1116.7437 24.703 type 0 radius 6.0 
05D1: AS_actor 49@ drive_car 153@ to 2001.1792 -1062.0391 24.9806 speed 30.0 3 model #NULL 2 
$7234 += 10000
0812: AS_actor $ACTOR_SWEET perform_animation "FIN_HANG_LOOP" IFP_file "FINALE" 4.0 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB 
04AF: 187@ = 33229 // @ = any 
05AA: 188@s = 'ROT4_HC'  // ~z~I'm gonna piss on your corpse, Tenpenny!
gosub @MISSN_19_PLAY_A


:MISSN_19_3340
wait 0
gosub @MISSN_19_57100
if
$7234 < 1 
then
gosub @MISSN_19_57329
return
end
if
00EE:   actor $PLAYER_ACTOR 0 near_point 2343.9167 -1080.1511 radius 5.0 5.0 in_car 
jf @MISSN_19_3340
Marker.Disable(91@)
018A: 91@ = create_checkpoint_at 2075.5442 -1116.7437 24.703
0168: set_marker 91@ size 1
0168: set_marker 89@ size 3
06D6: disable_racing_checkpoint 451@ 
06D5: 451@ = create_racing_checkpoint_at 2075.5442 -1116.7437 24.703 point_to 2080.6909 -1261.1724 24.5053 type 0 radius 6.0 
$7234 += 10000

031A: remove_all_fires 
Object.RemoveReferences(167@)
Object.RemoveReferences(168@)
Actor.RemoveReferences(44@)
Actor.RemoveReferences(45@)
Actor.RemoveReferences(46@)
34@ = Actor.Create(Mission1, #LSV2, 2246.362, -1059.161, 61.2275)
Actor.Angle(34@) = 255.0
060B: set_actor 34@ decision_maker_to 97@ 
01B2: give_actor 34@ weapon 18 ammo 99999 // Load the weapon model before using this 
02A9: set_actor 34@ immune_to_nonplayer 1 
0085: 102@ = 34@ // (int) 
0085: 107@ = $PLAYER_ACTOR // (int) 
gosub @MISSN_19_57209 
37@ = Actor.Create(Mission1, #LSV2, 2212.216, -1001.041, 67.22)
Actor.Angle(37@) = 183.4
060B: set_actor 37@ decision_maker_to 97@ 
01B2: give_actor 37@ weapon 18 ammo 99999 // Load the weapon model before using this 
02A9: set_actor 37@ immune_to_nonplayer 1 
0085: 102@ = 37@ // (int) 
008B: 107@ = 49@ // (int) 
gosub @MISSN_19_57209 
38@ = Actor.Create(Mission1, #LSV2, 2197.558, -1000.418, 67.367)
Actor.Angle(38@) = 209.7
060B: set_actor 38@ decision_maker_to 97@ 
01B2: give_actor 38@ weapon 18 ammo 99999 // Load the weapon model before using this 
02A9: set_actor 38@ immune_to_nonplayer 1 
0085: 102@ = 38@ // (int) 
0085: 107@ = $PLAYER_ACTOR // (int) 
gosub @MISSN_19_57209 
39@ = Actor.Create(Mission1, #LSV2, 2188.512, -1020.8, 70.33)
Actor.Angle(39@) = 287.39
060B: set_actor 39@ decision_maker_to 97@ 
01B2: give_actor 39@ weapon 18 ammo 99999 // Load the weapon model before using this 
02A9: set_actor 39@ immune_to_nonplayer 1 
Actor.WeaponAccuracy(39@) = 90
0085: 102@ = 39@ // (int) 
008B: 107@ = 49@ // (int) 
gosub @MISSN_19_57209 
165@ = Object.Create(#LA_FUCKCAR2, 2171.57, -1008.76, 62.56)
Object.ToggleInMovingList(165@) = True
Object.Angle(165@) = 168.0
0453: set_object 165@ XY_rotation 0.0 90.0 angle 0.0 
02CF: 61@ = create_fire_at 2172.57 -1008.76 61.56 propagation 0 size 3 
02CF: 62@ = create_fire_at 2171.57 -1007.76 62.56 propagation 0 size 3 
40@ = Actor.Create(Mission1, #LSV2, 2172.91, -1001.84, 62.83)
Actor.Angle(40@) = 258.18
060B: set_actor 40@ decision_maker_to 97@ 
01B2: give_actor 40@ weapon 18 ammo 99999 // Load the weapon model before using this 
02A9: set_actor 40@ immune_to_nonplayer 1 
0085: 102@ = 40@ // (int) 
0085: 107@ = $PLAYER_ACTOR // (int) 
gosub @MISSN_19_57209

Object.Destroy(167@)
Object.Destroy(168@)
Actor.DestroyInstantly(44@)
Actor.DestroyInstantly(45@)
Actor.DestroyInstantly(46@)

:MISSN_19_7989
166@ = Object.Create(#LA_FUCKCAR2, 2033.39, -938.0, 39.99)
Object.Angle(166@) = 24.8
Object.ToggleInMovingList(166@) = True
0453: set_object 166@ XY_rotation 0.0 0.0 angle 0.0 
02CF: 63@ = create_fire_at 2033.39 -938.0 38.99 propagation 0 size 3 
02CF: 64@ = create_fire_at 2032.39 -937.0 38.99 propagation 0 size 3 
41@ = Actor.Create(Mission1, #LSV2, 2035.09, -979.33, 40.9)
Actor.Angle(41@) = 263.9
060B: set_actor 41@ decision_maker_to 97@ 
01B2: give_actor 41@ weapon 18 ammo 99999 // Load the weapon model before using this 
02A9: set_actor 41@ immune_to_nonplayer 1 
0085: 102@ = 41@ // (int) 
0085: 107@ = $PLAYER_ACTOR // (int) 
gosub @MISSN_19_57209 
42@ = Actor.Create(Mission1, #LSV2, 2053.81, -983.87, 45.33)
Actor.Angle(42@) = 287.5
060B: set_actor 42@ decision_maker_to 97@ 
01B2: give_actor 42@ weapon 18 ammo 99999 // Load the weapon model before using this 
02A9: set_actor 42@ immune_to_nonplayer 1 
0085: 102@ = 42@ // (int) 
008B: 107@ = 49@ // (int) 
gosub @MISSN_19_57209 
43@ = Actor.Create(Mission1, #LSV2, 2089.93, -971.49, 54.556)
Actor.Angle(43@) = 219.88
060B: set_actor 43@ decision_maker_to 97@ 
01B2: give_actor 43@ weapon 18 ammo 99999 // Load the weapon model before using this 
02A9: set_actor 43@ immune_to_nonplayer 1 
0085: 102@ = 43@ // (int) 
0085: 107@ = $PLAYER_ACTOR // (int) 
gosub @MISSN_19_57209 
44@ = Actor.Create(Mission1, #LSV2, 2026.056, -971.93, 41.5)
Actor.Angle(44@) = 219.88
060B: set_actor 44@ decision_maker_to 97@ 
01B2: give_actor 44@ weapon 18 ammo 99999 // Load the weapon model before using this 
02A9: set_actor 44@ immune_to_nonplayer 1 
0085: 102@ = 44@ // (int) 
008B: 107@ = 49@ // (int) 
gosub @MISSN_19_57209 
45@ = Actor.Create(Mission1, #LSV2, 1989.918, -1017.65, 34.05)
Actor.Angle(45@) = 317.6
060B: set_actor 45@ decision_maker_to 97@ 
01B2: give_actor 45@ weapon 18 ammo 99999 // Load the weapon model before using this 
02A9: set_actor 45@ immune_to_nonplayer 1 
0085: 102@ = 45@ // (int) 
008B: 107@ = 49@ // (int) 
gosub @MISSN_19_57209 
46@ = Actor.Create(Mission1, #LSV2, 1999.8, -1018.65, 35.33)
Actor.Angle(46@) = 317.6
060B: set_actor 46@ decision_maker_to 97@ 
01B2: give_actor 46@ weapon 18 ammo 99999 // Load the weapon model before using this 
02A9: set_actor 46@ immune_to_nonplayer 1 
0085: 102@ = 46@ // (int) 
0085: 107@ = $PLAYER_ACTOR // (int) 
gosub @MISSN_19_57209 
47@ = Actor.Create(Mission1, #LSV2, 1970.674, -1088.046, 24.163)
Actor.Angle(47@) = 345.24
060B: set_actor 47@ decision_maker_to 97@ 
01B2: give_actor 47@ weapon 18 ammo 99999 // Load the weapon model before using this 
02A9: set_actor 47@ immune_to_nonplayer 1 
0085: 102@ = 47@ // (int) 
008B: 107@ = 49@ // (int) 
gosub @MISSN_19_57209 
48@ = Actor.Create(Mission1, #LSV2, 1977.545, -1096.913, 24.35)
Actor.Angle(48@) = 24.331
060B: set_actor 48@ decision_maker_to 97@ 
01B2: give_actor 48@ weapon 18 ammo 99999 // Load the weapon model before using this 
02A9: set_actor 48@ immune_to_nonplayer 1 
0085: 102@ = 48@ // (int) 
0085: 107@ = $PLAYER_ACTOR // (int) 
gosub @MISSN_19_57209 
167@ = Object.Create(#LA_FUCKCAR1, 1975.31, -1099.27, 24.118)
Object.ToggleInMovingList(167@) = True
Object.Angle(167@) = 270.894
0453: set_object 167@ XY_rotation 0.0 180.0 angle 0.0 
02D1: remove_fire 61@ 
02D1: remove_fire 62@ 
02CF: 61@ = create_fire_at 1975.31 -1099.27 24.118 propagation 0 size 3 
02CF: 62@ = create_fire_at 1977.0 -1098.0 24.0 propagation 0 size 3 
 
:MISSN_19_3350
wait 0
gosub @MISSN_19_57100
if
$7234 < 1 
then
gosub @MISSN_19_57329
return
end
if
00EE:   actor $PLAYER_ACTOR 0 near_point 2033.8317 -981.8964 radius 5.0 5.0 in_car 
jf @MISSN_19_3350
Marker.Disable(89@)
018A: 89@ = create_checkpoint_at 2080.6909 -1261.1724 24.5053
0168: set_marker 89@ size 1
0168: set_marker 90@ size 3
06D6: disable_racing_checkpoint 449@ 
06D5: 449@ = create_racing_checkpoint_at 2080.6909 -1261.1724 24.5053 point_to 2287.4526 -1266.3229 24.4715 type 0 radius 6.0 
$7234 += 10000

:MISSN_19_3345
wait 0
gosub @MISSN_19_57100
if
00EE:   actor $PLAYER_ACTOR 0 near_point 1985.0079 -1090.5889 radius 65.0 65.0 in_car 
jf @MISSN_19_3345
04AF: 187@ = 33217 // @ = any 
05AA: 188@s = 'ROT4_EA'  // ~z~Hang on Sweet!
gosub @MISSN_19_PLAY_A

:MISSN_19_3360
wait 0
gosub @MISSN_19_57100
if
$7234 < 1 
then
gosub @MISSN_19_57329
return
end
if
00EE:   actor $PLAYER_ACTOR 0 near_point 1985.0079 -1090.5889 radius 5.0 5.0 in_car 
jf @MISSN_19_3360
Marker.Disable(90@)
018A: 90@ = create_checkpoint_at 2287.4526 -1266.3229 24.4715
0168: set_marker 90@ size 1
0168: set_marker 91@ size 3
06D6: disable_racing_checkpoint 450@ 
06D5: 450@ = create_racing_checkpoint_at 2287.4526 -1266.3229 24.4715 point_to 2260.3777 -1380.9929 24.3737 type 0 radius 6.0 
05D1: AS_actor 49@ drive_car 153@ to 2068.5037 -1295.7311 24.364 speed 30.0 3 model #NULL 2 
$7234 += 10000

:MISSN_19_3370
wait 0
gosub @MISSN_19_57100
if
$7234 < 1 
then
gosub @MISSN_19_57329
return
end
if
00EE:   actor $PLAYER_ACTOR 0 near_point 2075.5442 -1116.7437 radius 5.0 5.0 in_car 
jf @MISSN_19_3370
Marker.Disable(91@)
018A: 91@ = create_checkpoint_at 2260.3777 -1380.9929 24.3737
0168: set_marker 91@ size 1
0168: set_marker 89@ size 3
06D6: disable_racing_checkpoint 451@ 
06D5: 451@ = create_racing_checkpoint_at 2260.3777 -1380.9929 24.3737 point_to 2110.6863 -1411.4584 24.3805 type 0 radius 6.0 
$7234 += 10000
04AF: 187@ = 33241 // @ = any 
05AA: 188@s = 'ROT4_KJ'  // ~z~CJ, do something!
gosub @MISSN_19_PLAY_A
04AF: 187@ = 33218 // @ = any 
05AA: 188@s = 'ROT4_EB'  // ~z~Just keep hanging on, bro!
gosub @MISSN_19_PLAY_A


:MISSN_19_3380
wait 0
gosub @MISSN_19_57100
if
$7234 < 1 
then
gosub @MISSN_19_57329
return
end
if
00EE:   actor $PLAYER_ACTOR 0 near_point 2080.6909 -1261.1724 radius 5.0 5.0 in_car 
jf @MISSN_19_3380
Marker.Disable(89@)
018A: 89@ = create_checkpoint_at 2110.6863 -1411.4584 24.3805
0168: set_marker 89@ size 1
0168: set_marker 90@ size 3
06D6: disable_racing_checkpoint 449@ 
06D5: 449@ = create_racing_checkpoint_at 2110.6863 -1411.4584 24.3805 point_to 2103.2529 -1749.8489 13.9203 type 0 radius 6.0 
05D1: AS_actor 49@ drive_car 153@ to 2164.9395 -1369.7924 24.3718 speed 30.0 3 model #NULL 2 
$7234 += 10000

04AF: 187@ = 33221 // @ = any 
05AA: 188@s = 'ROT4_FA'  // ~z~I ain't losin' this fool!
gosub @MISSN_19_PLAY_A

:MISSN_19_3390
wait 0
gosub @MISSN_19_57100
if
$7234 < 1 
then
gosub @MISSN_19_57329
return
end
if
00EE:   actor $PLAYER_ACTOR 0 near_point 2287.4526 -1266.3229 radius 5.0 5.0 in_car 
jf @MISSN_19_3390
Marker.Disable(90@)
018A: 90@ = create_checkpoint_at 2103.2529 -1749.8489 13.9203
0168: set_marker 90@ size 1
0168: set_marker 91@ size 3
06D6: disable_racing_checkpoint 450@ 
06D5: 450@ = create_racing_checkpoint_at 2103.2529 -1749.8489 13.9203 point_to 2203.1743 -1747.9204 13.741  type 0 radius 6.0 
$7234 += 10000

Object.RemoveReferences(165@)
Actor.RemoveReferences(34@)
Actor.RemoveReferences(37@)
Actor.RemoveReferences(38@)
Actor.RemoveReferences(39@)
Actor.RemoveReferences(40@)
169@ = Object.Create(#LA_FUCKCAR2, 2117.46, -1490.22, 22.6)
Object.ToggleInMovingList(169@) = True
Object.Angle(169@) = 276.0
44@ = Actor.Create(Mission1, #BALLAS1, 2108.6, -1491.5, 23.85)
Actor.Angle(44@) = 340.0
060B: set_actor 44@ decision_maker_to 97@ 
01B2: give_actor 44@ weapon 18 ammo 99999 // Load the weapon model before using this 
02A9: set_actor 44@ immune_to_nonplayer 1 
0085: 102@ = 44@ // (int) 
008B: 107@ = 49@ // (int) 
gosub @MISSN_19_57209 
45@ = Actor.Create(Mission1, #BALLAS1, 2116.48, -1492.219, 22.85)
Actor.Angle(45@) = 340.0
060B: set_actor 45@ decision_maker_to 97@ 
01B2: give_actor 45@ weapon 18 ammo 99999 // Load the weapon model before using this 
02A9: set_actor 45@ immune_to_nonplayer 1 
0085: 102@ = 45@ // (int) 
0085: 107@ = $PLAYER_ACTOR // (int) 
gosub @MISSN_19_57209 

:MISSN_19_3400
wait 0
gosub @MISSN_19_57100
if
$7234 < 1 
then
gosub @MISSN_19_57329
return
end
if
00EE:   actor $PLAYER_ACTOR 0 near_point 2260.3777 -1380.9929 radius 5.0 5.0 in_car 
jf @MISSN_19_3400
Marker.Disable(91@)
018A: 91@ = create_checkpoint_at 2203.1743 -1747.9204 13.741
0168: set_marker 91@ size 1
0168: set_marker 89@ size 3
06D6: disable_racing_checkpoint 451@ 
06D5: 451@ = create_racing_checkpoint_at 2203.1743 -1747.9204 13.741  point_to 2203.313 -1896.5969 14.2811  type 0 radius 6.0 
05D1: AS_actor 49@ drive_car 153@ to 2103.2529 -1749.8489 13.9203 speed 30.0 3 model #NULL 2 
$7234 += 10000

:MISSN_19_3410
wait 0
gosub @MISSN_19_57100
if
$7234 < 1 
then
gosub @MISSN_19_57329
return
end
if
00EE:   actor $PLAYER_ACTOR 0 near_point 2110.6863 -1411.4584 radius 5.0 5.0 in_car 
jf @MISSN_19_3410
Marker.Disable(89@)
018A: 89@ = create_checkpoint_at 2203.313 -1896.5969 14.2811
0168: set_marker 89@ size 1
0168: set_marker 90@ size 3
06D6: disable_racing_checkpoint 449@ 
06D5: 449@ = create_racing_checkpoint_at 2203.313 -1896.5969 14.2811   point_to 2097.9438 -1957.4821 14.101   type 0 radius 6.0 
$7234 += 10000

:MISSN_19_3420
wait 0
gosub @MISSN_19_57100
if
$7234 < 1 
then
gosub @MISSN_19_57329
return
end
if
00EE:   actor $PLAYER_ACTOR 0 near_point 2103.2529 -1749.8489 radius 5.0 5.0 in_car 
jf @MISSN_19_3420
Marker.Disable(90@)
018A: 90@ = create_checkpoint_at 2097.9438 -1957.4821 14.101
0168: set_marker 90@ size 1
0168: set_marker 91@ size 3
06D6: disable_racing_checkpoint 450@ 
06D5: 450@ = create_racing_checkpoint_at 2097.9438 -1957.4821 14.101   point_to 2260.5872 -2103.6912 14.3339  type 0 radius 6.0 
05D1: AS_actor 49@ drive_car 153@ to 2189.9927 -1895.2809 14.1578 speed 30.0 3 model #NULL 2 
$7234 += 10000
04AF: 187@ = 33222 // @ = any 
05AA: 188@s = 'ROT4_FB'  // ~z~I ain't letting this bastard go!
gosub @MISSN_19_PLAY_A

:MISSN_19_3430
wait 0
gosub @MISSN_19_57100
if
$7234 < 1 
then
gosub @MISSN_19_57329
return
end
if
00EE:   actor $PLAYER_ACTOR 0 near_point 2203.1743 -1747.9204 radius 5.0 5.0 in_car 
jf @MISSN_19_3430
Marker.Disable(91@)
018A: 91@ = create_checkpoint_at 2260.5872 -2103.6912 14.3339
0168: set_marker 91@ size 1
0168: set_marker 89@ size 3
06D6: disable_racing_checkpoint 451@ 
06D5: 451@ = create_racing_checkpoint_at 2260.5872 -2103.6912 14.3339  point_to 2352.4875 -2191.0068 14.0882  type 0 radius 6.0 
05D1: AS_actor 49@ drive_car 153@ to 2203.1743 -1747.9204 13.741  speed 30.0 3 model #NULL 2 
$7234 += 10000
 
06D8: 157@ = create_train_at 2135.04 -1953.25 12.84 type 15 direction 0 
06DC: set_train 157@ acc 30.0 
06DD: set_train 157@ speed 12.5 
Car.SetImmunities(157@, 1, 1, 1, 1, 1)
    
:MISSN_19_3440
wait 0
gosub @MISSN_19_57100
Car.StorePos(157@,$TEMPVAR_X_COORD, $TEMPVAR_Y_COORD, $TEMPVAR_Z_COORD)
if
$7234 < 1 
then
gosub @MISSN_19_57329
return
end
if or
00EE:   actor $PLAYER_ACTOR 0 near_point $TEMPVAR_X_COORD $TEMPVAR_Y_COORD radius 10.0 10.0 in_car 
00EE:   actor $PLAYER_ACTOR 0 near_point 2203.313 -1896.5969 radius 5.0 5.0 in_car 
jf @MISSN_19_3440
Marker.Disable(89@)
018A: 89@ = create_checkpoint_at 2352.4875 -2191.0068 14.0882
0168: set_marker 89@ size 1
0168: set_marker 90@ size 3
06D6: disable_racing_checkpoint 449@ 
06D5: 449@ = create_racing_checkpoint_at 2352.4875 -2191.0068 14.0882   point_to 2476.613 -2167.8489 14.0854   type 0 radius 6.0 
05D1: AS_actor 49@ drive_car 153@ to 2712.8423 -2137.6926 11.4336  speed 35.0 3 model #NULL 2 
$7234 += 10000
04AF: 187@ = 33226 // @ = any 
05AA: 188@s = 'ROT4_GB'  // ~z~Oh man, that was a close call!
gosub @MISSN_19_PLAY_A

:MISSN_19_3450
wait 0
gosub @MISSN_19_57100
if
$7234 < 1 
then
gosub @MISSN_19_57329
return
end
if
00EE:   actor $PLAYER_ACTOR 0 near_point 2097.9438 -1957.4821 radius 5.0 5.0 in_car 
jf @MISSN_19_3450
Marker.Disable(90@)
018A: 90@ = create_checkpoint_at 2476.613 -2167.8489 14.0854
0168: set_marker 90@ size 1
0168: set_marker 91@ size 3
06D6: disable_racing_checkpoint 450@ 
06D5: 450@ = create_racing_checkpoint_at 2476.613 -2167.8489 14.0854  point_to 0.0 0.0 0.0 type 2 radius 6.0 
$7234 += 10000

:MISSN_19_3460
wait 0
gosub @MISSN_19_57100
if
$7234 < 1 
then
gosub @MISSN_19_57329
return
end
if
00EE:   actor $PLAYER_ACTOR 0 near_point 2260.5872 -2103.6912 radius 5.0 5.0 in_car 
jf @MISSN_19_3460
Marker.Disable(91@)
0168: set_marker 89@ size 3
06D6: disable_racing_checkpoint 451@ 
$7234 += 10000
06DA: unknown_trains_flag 
Model.Destroy(#STREAK)
06DB: destroy_all_trains 

:MISSN_19_3470
wait 0
gosub @MISSN_19_57100
if
$7234 < 1 
then
gosub @MISSN_19_57329
return
end
if
00EE:   actor $PLAYER_ACTOR 0 near_point 2352.4875 -2191.0068 radius 5.0 5.0 in_car 
jf @MISSN_19_3470
Marker.Disable(89@)
0168: set_marker 90@ size 3
06D6: disable_racing_checkpoint 449@ 
$7234 += 10000

:MISSN_19_3480
wait 0
gosub @MISSN_19_57100
if
$7234 < 1 
then
gosub @MISSN_19_57329
return
end
if
00EE:   actor $PLAYER_ACTOR 0 near_point 2476.613 -2167.8489 radius 5.0 5.0 in_car 
jf @MISSN_19_3480
Marker.Disable(90@)
06D6: disable_racing_checkpoint 450@ 
Marker.Disable(59@)
$7234 = 0  //Dispose of timer.

0812: AS_actor $ACTOR_SWEET perform_animation "FIN_HANG_SLIP" IFP_file "FINALE" 8.0 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB 
0657: car 152@ open_componentA 3 
Car.StorePos(152@, $TEMPVAR_X_COORD, $TEMPVAR_Y_COORD, $TEMPVAR_Z_COORD)
$TEMPVAR_Y_COORD += 0.656
$TEMPVAR_Z_COORD += 2.408 
0362: remove_actor 158@ from_car_and_place_at $TEMPVAR_X_COORD $TEMPVAR_Y_COORD $TEMPVAR_Z_COORD 
0464: put_actor 158@ into_turret_on_car 152@ at_car_offset 0.0 0.656 2.408 position 0 shooting_angle_limit 0.0 with_weapon 0 
0812: AS_actor 158@ perform_animation "FIN_COP1_CLIMBOUT" IFP_file "FINALE2" 1000.0 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB 
wait 3000
0465: remove_actor 158@ from_turret_mode 
0464: put_actor 158@ into_turret_on_car 152@ at_car_offset -0.014 -7.4 -999.253 position 2 shooting_angle_limit 0.0 with_weapon 0 
0812: AS_actor 158@ perform_animation "FIN_COP1_CLIMBOUT2" IFP_file "FINALE" 1000.0 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB 
wait 3000
04AF: 187@ = 33234 // @ = any 
05AA: 188@s = 'ROT4_KB'  // ~z~Let go, you dumb bastard!
gosub @MISSN_19_PLAY_A
04AF: 187@ = 33236 // @ = any 
05AA: 188@s = 'ROT4_KD'  // ~z~Fuck you, pig!
gosub @MISSN_19_PLAY_A
wait 3000
0812: AS_actor 158@ perform_animation "FIN_COP1_STOMP" IFP_file "FINALE" 8.0 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB 
0812: AS_actor $ACTOR_SWEET perform_animation "FIN_HANG_SLIP" IFP_file "FINALE" 8.0 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB 
04AF: 187@ = 33237 // @ = any 
05AA: 188@s = 'ROT4_KE'  // ~z~Argh! My fingers!
0812: AS_actor $ACTOR_SWEET perform_animation "FIN_HANG_LOOP" IFP_file "FINALE" 8.0 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB 
gosub @MISSN_19_PLAY_A
32@ = 0
$GRIP = 30  //30 seconds and Sweet falls off the ladder.
04C4: store_coords_to $TEMPVAR_X_1 $TEMPVAR_Y_1 $TEMPVAR_Z_1 from_actor $ACTOR_SWEET with_offset 0.0 -15.0 -0.5 
160@ = Actor.Angle($ACTOR_SWEET)
Car.PutAt(153@,$TEMPVAR_X_1, $TEMPVAR_Y_1, $TEMPVAR_Z_1)
Car.Angle(153@) = 160@

:MISSN_19_4000
wait 0
0812: AS_actor 158@ perform_animation "FIN_COP1_STOMP" IFP_file "FINALE" 8.0 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB 
0812: AS_actor $ACTOR_SWEET perform_animation "FIN_HANG_SLIP" IFP_file "FINALE" 8.0 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB 
if
    32@ >= 1000
then
$GRIP -= 1
32@ = 0
end
if
$GRIP > 0
jf @MISSN_19_4030    

Actor.StorePos($ACTOR_SWEET, $TEMPVAR_X_1, $TEMPVAR_Y_1, $TEMPVAR_Z_1)
02E3: 128@ = car 152@ speed 
128@ += 15.0

05D1: AS_actor 49@ drive_car 153@ to $TEMPVAR_X_1 $TEMPVAR_Y_1 $TEMPVAR_Z_1 speed 128@ 3 model #FELTZER 5 

if
00EE:   actor 49@ 0 near_point $TEMPVAR_X_1 $TEMPVAR_Y_1 radius 3.0 3.0 in_car 
jf @MISSN_19_4000

//Sweet Lands on Car from the original.
067C: put_camera_on_actor $ACTOR_SWEET with_offset 2.0 8.0 8.0 rotation 0.0 0.0 0.0 0.0 2
018A: 90@ = create_checkpoint_at 1963.2184 -2189.3142 14.0926

Actor.StorePos($ACTOR_SWEET, $TEMPVAR_X_COORD, $TEMPVAR_Y_COORD, $TEMPVAR_Z_COORD)
$TEMPVAR_Z_COORD -= 1.0 

171@ = 4.0 
0465: remove_actor $ACTOR_SWEET from_turret_mode 
Actor.StorePos($ACTOR_SWEET, 181@, 182@, 183@)
0619: enable_actor $ACTOR_SWEET collision_detection 0 
183@ -= 1.0 
0792: disembark_instantly_actor $ACTOR_SWEET 
Actor.PutAt($ACTOR_SWEET, 181@, 182@, 183@)
0812: AS_actor $ACTOR_SWEET perform_animation "FIN_LET_GO" IFP_file "FINALE" 1000.0 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB 

Actor.StorePos($ACTOR_SWEET, 181@, 182@, 183@)
0407: store_coords_to 175@ 176@ 177@ from_car 153@ with_offset 0.0 1.5 0.5 
0087: 172@ = 181@ // (float) 
0063: 172@ -= 175@ // (float) 
0087: 173@ = 182@ // (float) 
0063: 173@ -= 176@ // (float) 
0087: 174@ = 183@ // (float) 
0063: 174@ -= 177@ // (float) 
0087: 178@ = 172@ // (float) 
0073: 178@ /= 171@ // (float) 
0087: 179@ = 173@ // (float) 
0073: 179@ /= 171@ // (float) 
0087: 180@ = 174@ // (float) 
0073: 180@ /= 171@ // (float) 
040D: unload_wav 1 
00BE: text_clear_all 
0407: store_coords_to 175@ 176@ 177@ from_car 153@ with_offset 0.0 1.5 0.5 
:MISSN_19_4010
wait 0
171@ -= 1.0 
0063: 172@ -= 178@ // (float) 
0063: 173@ -= 179@ // (float) 
0063: 174@ -= 180@ // (float) 
0087: 181@ = 175@ // (float) 
005B: 181@ += 172@ // (float) 
0087: 182@ = 176@ // (float) 
005B: 182@ += 173@ // (float) 
0087: 183@ = 177@ // (float) 
005B: 183@ += 174@ // (float) 
183@ -= 1.0 
Actor.PutAt($ACTOR_SWEET, 181@, 182@, 183@)
if 
  171@ == 0.0 
else_jump @MISSN_19_4010 
0465: remove_actor 158@ from_turret_mode 
Actor.DestroyWithFade(158@) 
0464: put_actor $ACTOR_SWEET into_turret_on_car 153@ at_car_offset 0.0 1.5 0.5 position 0 shooting_angle_limit 0.0 with_weapon 0 
0812: AS_actor $ACTOR_SWEET perform_animation "FIN_LAND_CAR" IFP_file "FINALE" 4.0 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB 
097A: play_audio_at 181@ 182@ 183@ event 1009 
wait 500
0812: AS_actor $ACTOR_SWEET perform_animation "FIN_CLIMB_IN" IFP_file "FINALE" 4.0 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB 
wait 1500
Camera.Restore_WithJumpCut
Camera.SetBehindPlayer
jump @MISSN_19_4050

:MISSN_19_4030
067C: put_camera_on_actor $ACTOR_SWEET with_offset 1.0 -8.0 2.0 rotation 0.0 0.0 0.0 0.0 2
018A: 90@ = create_checkpoint_at 1963.2184 -2189.3142 14.0926
0465: remove_actor 158@ from_turret_mode 
Actor.DestroyWithFade(158@) 
0465: remove_actor $ACTOR_SWEET from_turret_mode 
0619: enable_actor $ACTOR_SWEET collision_detection True 
0792: disembark_instantly_actor $ACTOR_SWEET 
0812: AS_actor $ACTOR_SWEET perform_animation "MD_HANG_LND_ROLL" IFP_file "MD_CHASE" 4.0 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB 
wait 2500
Camera.Restore_WithJumpCut
Camera.SetBehindPlayer

:MISSN_19_4040
if 
Car.Wrecked(153@)
then
04C4: store_coords_to $TEMPVAR_X_1 $TEMPVAR_Y_1 $TEMPVAR_Z_1 from_actor $ACTOR_SWEET with_offset 0.0 -15.0 0.5 
Car.Create(153@, #FELTZER, $TEMPVAR_X_1, $TEMPVAR_Y_1, $TEMPVAR_Z_1)
end
//This is a 20 second penality to the AI for allowing Sweet to fall off the firetruck.
wait 20000

:MISSN_19_4050
0465: remove_actor $ACTOR_SWEET from_turret_mode 
036A: put_actor $ACTOR_SWEET in_car 153@ 
0430: put_actor 49@ into_car 153@ passenger_seat 0 
Car.SetImmunities(152@, 0, 0, 0, 0, 0)
01B2: give_actor 49@ weapon 32 ammo 99999  
01B9: set_actor 49@ armed_weapon_to 32
02E2: set_actor 49@ weapon_accuracy_to 80

0713: actor 49@ driveby_actor -1 car 152@ point 0.0 0.0 0.0 radius 5000.0 4 1 firing_rate 90
$6673 = Car.Health(152@)
$6673 /= 10
03C4: set_status_text $6673 type 1 GXT 'SWE4_08'
00BC: show_text_highpriority GXT 'RM4_41' time 8000 flag 1  
:MISSN_19_4070
wait 0
Car.StorePos(152@, $TEMPVAR_X_COORD, $TEMPVAR_Y_COORD, $TEMPVAR_Z_COORD)
05D1: AS_actor $ACTOR_SWEET drive_car 153@ to $TEMPVAR_X_COORD $TEMPVAR_Y_COORD $TEMPVAR_Z_COORD speed 50.0 3 model #FELTZER 5 
$6673 = Car.Health(152@)
$6673 /= 10 
if and
not Actor.Dead($PLAYER_ACTOR)
Car.Wrecked(152@)
then
gosub @MISSN_19_57329
return
end
if and
not Car.Wrecked(152@)
01AF:   car 152@ sphere 1 in_sphere 1963.2184 -2189.3142 14.0926 radius 5.0 5.0 5.0 
jf @MISSN_19_4070

//Made it to the airport final cut scene where CJ and Sweet die in a deadly game of chicken.
fade 0 0
:MISSN_19_Fadeout
wait 0
if
not fading
jf @MISSN_19_Fadeout

0792: disembark_instantly_actor $PLAYER_ACTOR 
Car.Destroy(152@)
//My camera man                       
0376: 70@ = create_random_actor_at 1926.1298 -2285.9915 13.5469 
0376: 79@ = create_random_actor_at 1662.1956 -2650.1768 13.5469 
0812: AS_actor -1 perform_animation "IDLE_TIRED" IFP_file "PED" 4.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1 
152@ = Car.Create(#FIRELA, 1994.5, -2190.0, 13.993)
Car.Angle(152@) = 180.0
072A: put_actor $PLAYER_ACTOR into_car 152@ driverseat 
Car.SetSpeedInstantly(152@,50.0)
05D1: AS_actor $PLAYER_ACTOR drive_car 152@ to 1994.5 -2491.6118 14.0828 speed 50.0 2 model #NULL 5 
02A3: enable_widescreen true
0151: remove_status_text $6673 
Marker.Disable(90@)
fade 1 0
:MISSN_19_Fadein
wait 0
if
not fading
jf @MISSN_19_Fadein

161@ = 0
//Firetruck busts through gate and skids onto runway
:MISSN_19_loop1
wait 0
if and
161@ == 0
01AF:   car 152@ sphere 0 in_sphere 1994.5 -2440.0 14.0882 radius 5.0 5.0 5.0 
then
161@ = 1
07DB: set_car 152@ rotation_velocity_XYZ 0.0 0.0 -1.0 through_center_of_mass 
end
160@ = Car.Angle(152@)
if and
161@ == 1
160@ > 85.0
160@ < 95.0
jf @MISSN_19_loop1
//Stop the rotation 
161@ = 0
07DB: set_car 152@ rotation_velocity_XYZ 0.0 0.0 0.0 through_center_of_mass 
05D1: AS_actor $PLAYER_ACTOR drive_car 152@ to 1573.5867 -2492.7292 14.0964 speed 50.0 2 model #NULL 5 
068B: set_car 153@ all_disembark 
wait 500
Car.Angle(153@) = 180.0
Car.PutAt(153@, 1994.5, -2280.0, 13.993)
072A: put_actor $ACTOR_SWEET into_car 153@ driverseat 
0430: put_actor 49@ into_car 153@ passenger_seat 0 
//Firetruck drives west on runway
:MISSN_19_loop2
wait 0
if and
161@ == 0
01AF:   car 152@ sphere 0 in_sphere 1673.5867 -2492.7292 14.0964 radius 5.0 5.0 5.0 
then
161@ = 1
//Sweet and Carl move onto runway
Car.SetSpeedInstantly(153@,50.0)
067E: put_camera_on_actor 70@ with_offset 57.5 45.0 1.0 point_to_actor $ACTOR_SWEET 0.0 mode 2 
05D1: AS_actor $ACTOR_SWEET drive_car 153@ to 1994.5 -2491.6118 14.0828 speed 50.0 2 model #NULL 5 
end

if and
161@ == 1
01AF:   car 153@ sphere 0 in_sphere 1994.5 -2400.0 14.08284 radius 5.0 5.0 5.0 
jf @MISSN_19_loop2

//Firetruck spins around
067E: put_camera_on_actor $PLAYER_ACTOR with_offset 0.0 -15.0 2.0 point_to_actor $PLAYER_ACTOR 0.0 mode 2 
07DB: set_car 152@ rotation_velocity_XYZ 0.0 0.0 1.0 through_center_of_mass 
05D1: AS_actor $PLAYER_ACTOR drive_car 152@ to 1673.5867 -2492.7292 14.0964 speed 30.0 2 model #NULL 5 
//Set CJ and Sweet in position
Car.PutAt(153@, 1994.5, -2491.6118, 14.0828)
Car.Angle(153@) = 90.0

:MISSN_19_loop3
wait 0
                                                                                          
if 
01AF:   car 152@ sphere 0 in_sphere 1673.5867 -2492.7292 14.0964 radius 15.0 15.0 15.0 
jf @MISSN_19_loop3

067E: put_camera_on_actor $ACTOR_SWEET with_offset 7.5 -15.0 5.0 point_to_actor $ACTOR_SWEET 0.0 mode 2 
wait 5000
05D1: AS_actor $PLAYER_ACTOR drive_car 152@ to 1988.224 -2494.0 13.1282 speed 50.0 2 model #NULL 5 
05D1: AS_actor $ACTOR_SWEET drive_car 153@ to 1800.0 -2495.0 14.0964 speed 50.0 2 model #NULL 5 
wait 2500
Car.Angle(152@) = 270.0
Camera.Restore_WithJumpCut

:MISSN_19_loop4
wait 0
                                                                                          
if 
01AF:   car 153@ sphere 0 in_sphere 1870.0 -2494.5 14.0829 radius 15.0 15.0 15.0 
jf @MISSN_19_loop4
05D1: AS_actor $ACTOR_SWEET drive_car 153@ to 1662.1956 -2555.1768 15.6656 speed 70.0 2 model #NULL 5 
wait 1500
067E: put_camera_on_actor $ACTOR_SWEET with_offset 0.0 15.0 5.0 point_to_actor $ACTOR_SWEET 0.0 mode 2 
Car.Create(71@,#AT400, 1300.0 -2596.0 80.0)
Car.Angle(71@) = 270.0
Car.SetSpeedInstantly(71@,40.0)
04D2: set_plane 71@ fly_autopilot_around_point 1643.5 -2596.0 28.0973 altitude_between 0.0 and 0.0
0633: AS_actor $PLAYER_ACTOR exit_car 

:MISSN_19_loop5
wait 0
                                                                                          
if                                  
01AF:   car 153@ sphere 0 in_sphere 1662.1956 -2555.1768 15.6656 radius 5.0 5.0 5.0 
jf @MISSN_19_loop5 
07D5: set_car 153@ velocity_in_direction_XYZ 0.0 0.0 0.7 rotation_velocitiesXY 0.0 0.0 unk 0.0 
067E: put_camera_on_actor 70@ with_offset -300.0 -200.0 30.0 point_to_actor 79@ 0.0 mode 2 

:MISSN_19_loop6
wait 0
00AA: store_car 153@ position_to 73@ 73@ 74@ 
if
74@ > 40.0
jf @MISSN_19_loop6 
0639: AS_actor $PLAYER_ACTOR rotate_to_actor $ACTOR_SWEET 
020B: explode_car 71@ // versionA 
020B: explode_car 153@ // versionA 
wait 2500
02A3: enable_widescreen false
Camera.SetBehindPlayer
Camera.Restore_WithJumpCut
wait 2500
//MISSION PASSED
:MISSN_19_57451
Player.ClearWantedLevel($PLAYER_CHAR)
0318: set_latest_mission_passed 'RIOT_4'  // End Of The Line
01E3: show_text_1number_styled GXT 'RM4_42' number 1000000 time 5000 style 1  // MISSION PASSED!~n~~w~RESPECT +
0394: play_music 1 
0109: player $PLAYER_CHAR money += 1000000
wait 5000
$ONMISSION = 0
mission_cleanup
end_thread

return
{The following is my shorter version of the original hanging off the ladder subroutine. 
If the ladder swings right Sweet hangs right and if the ladder swings left he hangs left.
Notice the commented out legs up? He pulled his legs up as object started getting too close. 
I tried a random thing but it looked goofy so I just left it alone.
}
//Sweet  hangs left
:MISSN_19_57100
160@ = Car.Angle(152@)
095F: get_car 152@ componentA 6 rotation_to 161@ 
161@ -= 0.5 
161@ *= 2.0 
161@ *= 10.0 
005B: 161@ += 160@ // (float) 
0087: 163@ = 161@ // (float) 
0063: 163@ -= 162@ // (float) 
if 
  -180.0 > 163@ 
else_jump @MISSN_19_57110
163@ += 360.0 

:MISSN_19_57110
if 
  163@ > 180.0 
else_jump @MISSN_19_57120
163@ += -360.0 

:MISSN_19_57120
0087: 162@ = 161@ // (float) 

if 
  -1.5 > 163@ 
else_jump @MISSN_19_57130  
0812: AS_actor $ACTOR_SWEET perform_animation "FIN_HANG_L" IFP_file "FINALE" 1.5 loopA 0 lockX 0 lockY 0 lockF 1 time -1 
//0812: AS_actor $ACTOR_SWEET perform_animation "FIN_LEGSUP_L" IFP_file "FINALE" 1.5 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB 
return 
//Sweet hangs right
:MISSN_19_57130
if 
  163@ > 1.5 
else_jump @MISSN_19_57140 
0812: AS_actor $ACTOR_SWEET perform_animation "FIN_HANG_R" IFP_file "FINALE" 1.5 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB 
//0812: AS_actor $ACTOR_SWEET perform_animation "FIN_LEGSUP_R" IFP_file "FINALE" 1.5 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB 
return
//Sweet JUST hangs
:MISSN_19_57140
0812: AS_actor $ACTOR_SWEET perform_animation "FIN_HANG_LOOP" IFP_file "FINALE" 2.5 loopA 1 lockX 0 lockY 0 lockF 1 time -1 // versionB 
//0812: AS_actor $ACTOR_SWEET perform_animation "FIN_LEGSUP_LOOP" IFP_file "FINALE" 2.5 loopA 1 lockX 0 lockY 0 lockF 1 time -1 // versionB 
return
//This is a standard kill actor pack 107@ can be assigned to any actor.
:MISSN_19_57209
0615: define_AS_pack_begin 184@ 
0638: AS_actor -1 stay_put 1 
05E2: AS_actor -1 kill_actor 107@ 
0616: define_AS_pack_end 184@ 
0618: assign_actor 102@ to_AS_pack 184@ 
061B: remove_references_to_AS_pack 184@ 
return 
//This is my standard audio play sounds but mixed with their method of sending text as well.
:MISSN_19_PLAY_A
03CF: load_wav 187@ as 1
:MISSN_19_PLAY_B
wait 0
if 
03D0:   wav 1 loaded 
else_jump @MISSN_19_PLAY_B 
00BC: show_text_highpriority GXT 188@s time 4000 flag 1 
03D1: play_wav 1 
:MISSN_19_PLAY_C
wait 0 
if 
03D2:   wav 1 ended 
else_jump @MISSN_19_PLAY_C  
040D: unload_wav 1 
00BE: text_clear_all 
return 

//MISSION FAILED
:MISSN_19_57329
00BE: text_clear_all 
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1  // ~r~MISSION FAILED! 
return 

//CLEAN UP
:MISSN_19_57525
0A45: set_rail_tracks_friction_to -1.0 
0151: remove_status_text $8011 
0151: remove_status_text $8013 
0151: remove_status_text $6673 
07CC: set_player $PLAYER_CHAR button_15 1 
Marker.Disable(115@)
Marker.Disable(238@)
Marker.Disable(239@)
Marker.Disable(240@)
Marker.Disable(241@)
Marker.Disable(242@)
Marker.Disable(243@)
Marker.Disable(244@)
Marker.Disable(245@)
Marker.Disable(247@)
Marker.Disable(248@)
Marker.Disable(278@)
Marker.Disable(279@)
Marker.Disable(449@)
Marker.Disable(450@)
Marker.Disable(451@)
Marker.Disable(89@) 
Marker.Disable(90@) 
Marker.Disable(91@) 
0650: destroy_particle 280@ 
0650: destroy_particle 281@ 
0650: destroy_particle 282@ 
0650: destroy_particle 283@ 
0650: destroy_particle 284@ 
0650: destroy_particle 285@ 
0650: destroy_particle 286@ 
Actor.DestroyWithFade($ACTOR_SWEET)
Actor.DestroyWithFade(49@)
Actor.DestroyWithFade(158@)
Actor.DestroyWithFade(159@)
031A: remove_all_fires 
03C7: set_sensitivity_to_crime 1.0 
01F0: set_max_wanted_level_to 6 
01EB: set_traffic_density_multiplier_to 1.0 
03DE: set_pedestrians_density_multiplier_to 1.0 
Model.Destroy(#STREAK)
Model.Destroy(#FIRELA)
Model.Destroy(#LAPD1)
Model.Destroy(#GREENWOO)
Model.Destroy(#FELTZER)
04EF: release_animation "FINALE" 
04EF: release_animation "FINALE2" 
Model.Destroy(#LSV2)
Model.Destroy(#BALLAS1)
Model.Destroy(#LA_FUCKCAR1)
Model.Destroy(#LA_FUCKCAR2)
Model.Destroy(#MICRO_UZI)
Model.Destroy(#COPCARLA)
Model.Destroy(#SANCHEZ)
Model.Destroy(#MOLOTOV)
Model.Destroy(#LSV3)
Model.Destroy(#TORNADO)
0296: unload_special_actor 2 
01B7: release_weather 
06D7: enable_train_traffic 1 
06D0: enable_emergency_traffic 1 
03C7: set_sensitivity_to_crime 1.0 
01EB: set_traffic_density_multiplier_to 1.0 
03DE: set_pedestrians_density_multiplier_to 1.0 
$ONMISSION = 0 
mission_cleanup 
return 